package com.cl.short_video_java.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.cl.short_video_java.pojo.VideoUser;
import com.baomidou.mybatisplus.extension.service.IService;
import com.cl.short_video_java.vo.Login;
import com.cl.short_video_java.vo.Register;
import com.cl.short_video_java.vo.user.AddUserAdmin;
import com.cl.short_video_java.vo.user.FindPass;
import com.cl.short_video_java.vo.user.UserSearch;

import javax.servlet.http.HttpServletRequest;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

/**
 * @author object
 * @description 针对表【video_user】的数据库操作Service
 * @createDate 2024-10-31 15:58:59
 */
public interface VideoUserService extends IService<VideoUser> {
	VideoUser getCurrentUser();

	VideoUser getCurrentUser(HttpServletRequest request, String grade);

	Map<Object, Object> register(Register register, HttpServletRequest request);

	Map<Object, Object> login(Login login, HttpServletRequest request);

	Boolean DeleteVideoUserByIdService(List<Integer> idlist);

	Page<VideoUser> SelectAllVideoUserService(UserSearch userSearch);

	Boolean UpdataVideoUserLevelService(Integer id, Integer level);

	Boolean UpdataVideoUserIsAdminService(Integer id, Integer isadmin);

	List<VideoUser> search(UserSearch userSearch);

	void save(AddUserAdmin user);

	void limit(Integer userId);

	void del(List<Integer> idList);

	Page<VideoUser> vipUserList(UserSearch userSearch);

	void upgrade(Integer id, Integer userId, BigDecimal price);
	void addBalance(Integer userId, BigDecimal balance);

	String account();

    Boolean publiShingService(Integer id, Integer isPubliShing);

	VideoUser info(Integer uid);

	void findPass(FindPass findPass);

	void bindEmail(String email, String code, VideoUser user);
}
